// app/vendor-data/layout.tsx import * as React from "react" import { cookies } from "next/headers" import { Shell } from "@/components/shell" import { getVendorProjectsAndContracts } from "@/lib/vendor-data/services" import { VendorDataContainer } from "@/components/vendor-data/vendor-data-container" import { InformationButton } from "@/components/information/information-button" import { useTranslation } from "@/i18n" // Layout 컴포넌트는 서버 컴포넌트입니다 export default async function VendorDataLayout({ params, children, }: { params: Promise<{ lng: string }> children: React.ReactNode }) { const { lng } = await params const { t } = await useTranslation(lng, 'menu') // evcp: 전체 계약 대상으로 프로젝트 데이터 가져오기 const projects = await getVendorProjectsAndContracts() // 레이아웃 설정 쿠키 가져오기 // Next.js 15에서는 cookies()가 Promise를 반환하므로 await 사용 const cookieStore = await cookies() // 이제 cookieStore.get() 메서드 사용 가능 const layout = cookieStore.get("react-resizable-panels:layout:mail") const collapsed = cookieStore.get("react-resizable-panels:collapsed") const defaultLayout = layout ? JSON.parse(layout.value) : undefined const defaultCollapsed = collapsed ? JSON.parse(collapsed.value) : undefined return (

{t('menu.engineering_management.vendor_data')}

{/*

각종 Data 입력할 수 있습니다

*/}
{projects.length === 0 ? (
No projects found for this vendor.
) : ( {/* 페이지별 콘텐츠가 여기에 들어갑니다 */} {children} )}
) }